package com.dubbo.mapper;

import com.dubbo.domain.Message;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import tk.mybatis.mapper.common.Mapper;

/**
 * 消息
 * @author lihongwu
 * 2019年1月7日 下午3:10:46
 */
public interface MessageMapper extends Mapper<Message> {
   
	/**
	 * 获取用户未读消息数量
	 *
	 * @author lihongwu
	 * 2019年2月28日 上午9:57:20
	 * @param userId
	 * @return
	 */
	@Select("SELECT" + 
			"	COUNT(m.id) " + 
			" FROM" + 
			"	u_message m " + 
			" WHERE " + 
			"	m.userId = #{userId} " + 
			" AND " + 
			"	m.isRead = 0 ")
	Long getUserNoReadMessageCount(@Param("userId") String userId);
	
	/**
	 * 用户读消息(将用户消息全部设置成已读)
	 *
	 * @author lihongwu
	 * 2019年2月28日 上午9:57:13
	 * @param userId
	 * @return
	 */
	@Update("UPDATE u_message m SET m.isRead = 1 WHERE m.userId = #{userId}")
	Long readMessage(@Param("userId") String userId);
}